{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    }
   ],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "%pylab inline\n",
    "\n",
    "import seaborn as sns\n",
    "sns.set_context('poster')\n",
    "sns.set_style('white')\n",
    "import numpy as np\n",
    "from arnie.pfunc import pfunc\n",
    "from arnie.free_energy import free_energy\n",
    "from arnie.bpps import bpps\n",
    "from arnie.mfe import mfe\n",
    "import arnie.utils as utils\n",
    "from decimal import Decimal"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## A starting example\n",
    "\n",
    "Hammerhead ribozyme example sequence:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "sequence = \"CGCUGUCUGUACUUGUAUCAGUACACUGACGAGUCCCUAAAGGACGAAACAGCG\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Calculate a minimum free energy structure:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "((((((.((((((......)))))).......((((.....))))...))))))\n"
     ]
    }
   ],
   "source": [
    "mfe_structure = mfe(sequence)\n",
    "print(mfe_structure)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 438.774x438.774 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Visualize with draw_rna! Git clone from www.github.com/DasLab/draw_rna .\n",
    "from ipynb.draw import draw_struct\n",
    "\n",
    "draw_struct(sequence, mfe_structure)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Calculate an array of base-pairing probabilities. If our sequence is length N, this produces an NxN matrix, where entry i, j corresponds to the probability that nucleotides _i_ and _j_ are paired."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x1a25231a90>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "bp_matrix = bpps(sequence)\n",
    "plt.imshow(bp_matrix, origin='lower left', cmap='gist_heat_r')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "What if we want the total probability that any nucleotide is unpaired? This gives us a prediction of how accessible the nucleotide is, which is important in a lot of contexts -- a prediction for structure probing data, a prediction for degradation rate, and possibly a prediction for protein binding.\n",
    "\n",
    "To get the total probability that nucleotide _i_ is *paired*, we sum the above base pair matrix along one axis (doesn't matter which since it's symmetric). This gives us a 1xN vector. Then to get the probability that nucleotide _i_ is *unpaired*, we subtract this vector from 1."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'p(unpaired)')"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "p_unp_vec = 1 - np.sum(bp_matrix, axis=0)\n",
    "plot(p_unp_vec)\n",
    "xlabel('Sequence position')\n",
    "ylabel('p(unpaired)')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can visualize the unpaired probabilities on our MFE structure, too:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 438.774x438.774 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "draw_struct(sequence, mfe_structure, c = p_unp_vec, cmap='plasma')\n",
    "# yellow = higher unpaired probability, blue = higher paired probability"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### More examples of syntax and functionality in arnie."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Utilities"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "rnastructure /Users/hwayment/das/software/RNAstructure/exe\n",
      "linearpartition /Users/hwayment/das/software/LinearPartition/bin\n",
      "linearfold /Users/hwayment/das/software/LinearFold/bin\n",
      "rnasoft /Users/hwayment/das/software/MultiRNAFold\n",
      "contrafold_2 /Users/hwayment/das/software/contrafold/src\n",
      "vienna_2 /usr/local/bin\n",
      "nupack /Users/hwayment/das/software/nupack3.0.6/bin\n",
      "TMP /Users/hwayment/das/tmp\n",
      "eternafold /Users/hwayment/das/github/Eternafold/src\n"
     ]
    }
   ],
   "source": [
    "# see current path files:\n",
    "utils.print_path_files()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Example output: (HWS, June 2021)\n",
    "\n",
    "```\n",
    "rnastructure /Users/hwayment/das/software/RNAstructure/exe\n",
    "linearpartition /Users/hwayment/das/software/LinearPartition/bin\n",
    "linearfold /Users/hwayment/das/software/LinearFold/bin\n",
    "rnasoft /Users/hwayment/das/software/MultiRNAFold\n",
    "contrafold_2 /Users/hwayment/das/software/contrafold/src\n",
    "vienna_2 /usr/local/bin\n",
    "nupack /Users/hwayment/das/software/nupack3.0.6/bin\n",
    "TMP /Users/hwayment/das/tmp\n",
    "eternafold /Users/hwayment/das/github/Eternafold/src\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Available packages: ['rnastructure', 'rnasoft', 'contrafold_2', 'vienna_2', 'nupack', 'eternafold']\n"
     ]
    }
   ],
   "source": [
    "# get list of available working packages:\n",
    "avail_packages = utils.package_list()\n",
    "print('Available packages:', avail_packages)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Example output: (HWS, June 2021)\n",
    "\n",
    "`Available packages: ['rnastructure', 'rnasoft', 'contrafold_2', 'vienna_2', 'nupack', 'eternafold']`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-15.92\n",
      "-15.92\n",
      "-15.92\n",
      "-15.92\n"
     ]
    }
   ],
   "source": [
    "#agnostic to capitalization in package name.\n",
    "#package version must be specified after package name by underscore, 'vienna_2', not 'vienna 2'.\n",
    "for package_name in ['vienna','VIENNA','Vienna','vienna_2']:\n",
    "    Z = free_energy(sequence,package=package_name)\n",
    "    print(Z)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Expected output:\n",
    "```\n",
    "\n",
    "-15.92\n",
    "-15.92\n",
    "-15.92\n",
    "-15.92\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Partition Function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "rnastructure 8.12E+12\n",
      "rnasoft 2.88E+06\n",
      "contrafold_2 9.67E+02\n",
      "vienna_2 1.61E+11\n",
      "nupack 2.92E+10\n",
      "eternafold 9.36E+05\n"
     ]
    }
   ],
   "source": [
    "# Compute Z: \n",
    "\n",
    "for pkg in avail_packages:\n",
    "    Z = pfunc(sequence, package=pkg)\n",
    "    print('%s %.2E' % (pkg, Z))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Expected output:\n",
    "\n",
    "```\n",
    "rnastructure 8.12E+12\n",
    "rnasoft 2.88E+06\n",
    "contrafold_2 9.67E+02\n",
    "vienna_2 1.61E+11\n",
    "nupack 2.92E+10\n",
    "eternafold 9.36E+05\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Reading Arnie file at /Users/hwayment/private_arnie/hws_macbook.arnie\n",
      "/Users/hwayment/das/tmp/ujmhxt.in\n",
      "/usr/local/bin/RNAfold -p -T 37 --bppmThreshold=0.0000000001 --id-prefix=svfvnp\n",
      "stdout\n",
      "b'>svfvnp_0001\\nCGCUGUCUGUACUUGUAUCAGUACACUGACGAGUCCCUAAAGGACGAAACAGCG\\n((((((.((((((......)))))).......((((.....))))...)))))) (-15.20)\\n((((((.((((((......)))))).......((((.....))))...)))))) [-15.92]\\n((((((.((((((......)))))).......((((.....))))...)))))) {-15.20 d=2.79}\\n frequency of mfe structure in ensemble 0.312934; ensemble diversity 4.96  \\n'\n",
      "stderr\n",
      "b''\n",
      "free_energy:  -15.92\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "161496367110.8372"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#To see the actual system calls, set DEBUG=True:\n",
    "\n",
    "pfunc(sequence, DEBUG=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Example output:\n",
    "\n",
    "```\n",
    "/Users/hwayment/das/tmp/rxphqu.in\n",
    "/usr/local/bin/RNAfold -T 37 -p --id-prefix=tjwlzl\n",
    "stdout\n",
    "b'>tjwlzl_0001\\nCGCUGUCUGUACUUGUAUCAGUACACUGACGAGUCCCUAAAGGACGAAACAGCG\\n((((((.((((((......)))))).......((((.....))))...)))))) (-15.20)\\n((((((.((((((......)))))).......((((.....))))...)))))) [-15.92]\\n((((((.((((((......)))))).......((((.....))))...)))))) {-15.20 d=2.79}\\n frequency of mfe structure in ensemble 0.312934; ensemble diversity 4.96  \\n'\n",
    "stderr\n",
    "b''\n",
    "free_energy:  -15.92\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Package\tconstr_Z\tZ\tp(motif)\n",
      "rnastructure\t1.22E+08\t8.12E+12\t0.00\n",
      "ERROR: RNAsoft is unable to handle constraints for calculating                 partition functions, returning unconstrained Z.\n",
      "rnasoft\t2.88E+06\t2.88E+06\t1.00\n",
      "contrafold_2\t3.59E+02\t9.31E+02\t0.39\n",
      "vienna_2\t1.03E+11\t1.61E+11\t0.64\n",
      "nupack\t2.92E+10\t2.92E+10\t1.00\n",
      "eternafold\t5.06E+05\t1.02E+06\t0.50\n"
     ]
    }
   ],
   "source": [
    "# Compute constrained Z, example here is of HHR ribozyme closing stem.\n",
    "# Note not all packages can do this -- RNASoft will throw an error.\n",
    "\n",
    "constr = '((((((..........................................))))))'\n",
    "\n",
    "# Compute Z: \n",
    "print('Package\\tconstr_Z\\tZ\\tp(motif)')\n",
    "for pkg in avail_packages:\n",
    "    Z = pfunc(sequence, package=pkg)\n",
    "    constr_Z = pfunc(sequence, package=pkg, constraint=constr)\n",
    "    p_closing_stem = constr_Z / Z\n",
    "    \n",
    "    print('%s\\t%.2E\\t%.2E\\t%.2f' % (pkg, constr_Z, Z, p_closing_stem))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Vienna RNAfold:\n",
      "((((((.((((((......)))))).......((((.....))))...))))))\n",
      "-15.92\n",
      "\n",
      "LinearFold-V:\n",
      "((((((.((((((......)))))).......((((.....))))...))))))\n",
      "-15.92\n",
      "\n",
      "CONTRAfold (v2_02):\n",
      "((((((.((((((......)))))).......((((.....))))...))))))\n",
      "-6.87394\n",
      "\n",
      "LinearFold-C:\n",
      "((((((.((((((......)))))).......((((.....))))...))))))\n",
      "-6.77342\n"
     ]
    }
   ],
   "source": [
    "from arnie.mfe import mfe\n",
    "from arnie.free_energy import free_energy\n",
    "\n",
    "seq = 'CGCUGUCUGUACUUGUAUCAGUACACUGACGAGUCCCUAAAGGACGAAACAGCG'\n",
    "\n",
    "# Arnie mfe utility calls LinearFold for structure. Arnie free_energy utility calls LinearPartition for free energy.\n",
    "\n",
    "print('Vienna RNAfold:')\n",
    "print(mfe(seq))\n",
    "print(free_energy(seq))\n",
    "\n",
    "print('\\nLinearFold-V:')\n",
    "print(mfe(seq, linear=True))\n",
    "print(free_energy(seq, linear=True))\n",
    "\n",
    "print('\\nCONTRAfold (v2_02):')\n",
    "print(mfe(seq, package='contrafold', viterbi=True)) # setting viterbi=True because CONTRAfold default is MEA structure, not MFE structure\n",
    "print(free_energy(seq, package='contrafold'))\n",
    "\n",
    "print('\\nLinearFold-C:')\n",
    "print(mfe(seq, linear=True, package='contrafold'))\n",
    "print(free_energy(seq, linear=True, package='contrafold',beam_size=100000000))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Accessing package-specific options"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Vienna with dangles: -15.92\n",
      "Vienna no dangles: -13.37\n",
      "\n",
      "RNAStructure with dangles: -17.51\n",
      "RNAStructure no dangles: -16.54\n",
      "\n",
      "Vienna 37 C (standard): -15.92\n",
      "Vienna 70 C: -5.19\n"
     ]
    }
   ],
   "source": [
    "print(\"Vienna with dangles: %.2f\" % free_energy(sequence,package='vienna_2',dangles=True))\n",
    "print(\"Vienna no dangles: %.2f\" % free_energy(sequence,package='vienna_2',dangles=False))\n",
    "print('')\n",
    "print(\"RNAStructure with dangles: %.2f\" % free_energy(sequence,package='rnastructure',coaxial=True))\n",
    "print(\"RNAStructure no dangles: %.2f\" % free_energy(sequence,package='rnastructure',coaxial=False))\n",
    "print('')\n",
    "print(\"Vienna 37 C (standard): %.2f\" % free_energy(sequence,package='vienna_2'))\n",
    "print(\"Vienna 70 C: %.2f\" % free_energy(sequence,package='vienna_2',T=70))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Vienna: -15.92\n",
      "Warning: vienna does not support coaxial options\n",
      "Vienna: -15.92\n"
     ]
    }
   ],
   "source": [
    "#Will throw an error if a package doesn't support the selected option\n",
    "print(\"Vienna: %.2f\" % free_energy(sequence,package='vienna_2',coaxial=True))\n",
    "print(\"Vienna: %.2f\" % free_energy(sequence,package='vienna_2',coaxial=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Predict base pair probabilities for all packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure(figsize=(12,8))\n",
    "\n",
    "for i,pkg in enumerate(sorted(avail_packages)):\n",
    "    bp_matrix = bpps(sequence, package=pkg)\n",
    "    subplot(2,3,i+1)\n",
    "    axis(linewidth=0.5)\n",
    "    imshow(bp_matrix,cmap='gist_heat_r')\n",
    "    title(pkg)\n",
    "    \n",
    "tight_layout()\n",
    "savefig('../assets/example_base_pair_matrices.png',dpi=150, bbox_inches='tight')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Use base pair matrix to get p(unpaired) for all packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x576 with 8 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure(figsize=(8,8))\n",
    "\n",
    "for i,pkg in enumerate(sorted(avail_packages)):\n",
    "    bp_matrix = bpps(sequence, package=pkg)\n",
    "    \n",
    "    # We sum all values over one axis to get total base pairing probability per nucleotide.\n",
    "    \n",
    "    p_net_base_pairing = np.sum(bp_matrix, axis=0)\n",
    "    \n",
    "    # to get total probability unpaired, we would take 1 - p_net_base_pairing.\n",
    "    subplot(7,1,i+1)\n",
    "    \n",
    "    imshow(p_net_base_pairing.reshape(1,-1),cmap='gist_heat_r')\n",
    "    yticks([])\n",
    "    title(pkg.title())\n",
    "    if i==5: \n",
    "        xlabel('Sequence position')\n",
    "    else:\n",
    "        xticks([])\n",
    "        \n",
    "subplot(7,1,7)\n",
    "axis('off')\n",
    "colorbar(orientation='horizontal', label='p(paired)')\n",
    "savefig('../assets/example_avg_bp_per_nucleotide.png',dpi=150, bbox_inches='tight')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Predict MEA structure from base pair probabilities"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Scanning gamma for rnastructure bp probabilities\n",
      "log_g\tstruct\tE[MCC]\tMCC\n",
      "-4 ...................................................... 0.00 0.00\n",
      "-3 ...................................................... 0.00 0.00\n",
      "-2 .((................................................)). 0.35 0.35\n",
      "-1 .(((((.(((((........))))).......((((.....))))...))))). 0.93 0.93\n",
      "0 ((((((.((((((......)))))).......((((.....))))...)))))) 0.96 1.00\n",
      "1 ((((((.((((((......)))))).......((((.....))))...)))))) 0.96 1.00\n",
      "2 (((((((((((((.(...)))))))..)....((((.....))))...)))))) 0.91 1.00\n",
      "3 (((((((((((((.(...)))))))..).(..((((.....)))))..)))))) 0.89 1.00\n",
      "Scanning gamma for rnasoft bp probabilities\n",
      "log_g\tstruct\tE[MCC]\tMCC\n",
      "-4 ...................................................... 0.00 0.00\n",
      "-3 ...................................................... 0.00 0.00\n",
      "-2 ...................................................... 0.00 0.00\n",
      "-1 .((................................................)). 0.34 0.35\n",
      "0 ((((((.((((((......)))))).......((((.....))))...)))))) 0.83 1.00\n",
      "1 (((((((((((((......))))))..)....((((.....))))...)))))) 0.81 1.00\n",
      "2 (((((((((((((.(...)))))))..).(..((((.....)))))..)))))) 0.77 1.00\n",
      "3 (((((((((((((.(...)))))))..).(..((((.....)))))..)))))) 0.77 1.00\n",
      "Scanning gamma for contrafold_2 bp probabilities\n",
      "log_g\tstruct\tE[MCC]\tMCC\n",
      "-4 ...................................................... 0.00 0.00\n",
      "-3 ...................................................... 0.00 0.00\n",
      "-2 ...................................................... 0.00 0.00\n",
      "-1 ...................................................... 0.00 0.00\n",
      "0 (((((..((((((......)))))).......((((.....))))....))))) 0.74 0.97\n",
      "1 (((((((((((((......))))))..)....((((.....))))...)))))) 0.73 1.00\n",
      "2 (((((((((((((.(...)))))))..).(..((((.....)))))..)))))) 0.70 1.00\n",
      "3 (((((((((((((.(...)))))))..).(..((((.(..))))))..)))))) 0.68 1.00\n",
      "Scanning gamma for vienna_2 bp probabilities\n",
      "log_g\tstruct\tE[MCC]\tMCC\n",
      "-4 ...................................................... 0.00 0.00\n",
      "-3 ...................................................... 0.00 0.00\n",
      "-2 ...................................................... 0.00 0.00\n",
      "-1 .((((...((((........))))........((((.....))))....)))). 0.83 0.86\n",
      "0 ((((((.((((((......)))))).......((((.....))))...)))))) 0.91 1.00\n",
      "1 (((((((((((((......))))))..)....((((.....))))...)))))) 0.89 1.00\n",
      "2 (((((((((((((.(...)))))))..)....((((.....))))...)))))) 0.87 1.00\n",
      "3 (((((((((((((.(...)))))))..).(..((((.....)))))..)))))) 0.85 1.00\n",
      "Scanning gamma for nupack bp probabilities\n",
      "log_g\tstruct\tE[MCC]\tMCC\n",
      "-4 ...................................................... 0.00 0.00\n",
      "-3 ...................................................... 0.00 0.00\n",
      "-2 ...................................................... 0.00 0.00\n",
      "-1 ................................((((.....))))......... 0.48 0.50\n",
      "0 .(((((.((((((......)))))).......((((.....))))...))))). 0.81 0.97\n",
      "1 (((((((((((((......))))))..)....((((.....))))...)))))) 0.81 1.00\n",
      "2 (((((((((((((.(...)))))))..).(..((((.....)))))..)))))) 0.77 1.00\n",
      "3 (((((((((((((.(...)))))))..).(..((((.....)))))..)))))) 0.77 1.00\n",
      "Scanning gamma for eternafold bp probabilities\n",
      "log_g\tstruct\tE[MCC]\tMCC\n",
      "-4 ...................................................... 0.00 0.00\n",
      "-3 ...................................................... 0.00 0.00\n",
      "-2 ...................................................... 0.00 0.00\n",
      "-1 .((..............................((.......)).......)). 0.47 0.50\n",
      "0 ((((((.((((((......)))))).......((((.....))))...)))))) 0.82 1.00\n",
      "1 (((((((((((((......))))))..)....((((.....))))...)))))) 0.81 1.00\n",
      "2 (((((((((((((.(...)))))))..).(..((((.....)))))..)))))) 0.77 1.00\n",
      "3 (((((((((((((.(...)))))))..).(..((((.(..))))))..)))))) 0.76 1.00\n"
     ]
    }
   ],
   "source": [
    "from arnie.mea.mea import MEA\n",
    "\n",
    "ground_truth_struct = '((((((.((((((......)))))).......((((.....))))...))))))'\n",
    "\n",
    "for pkg in avail_packages:\n",
    "    \n",
    "    bp_matrix = bpps(sequence, package=pkg)\n",
    "    print('Scanning gamma for %s bp probabilities' % pkg)\n",
    "    print(\"log_g\\tstruct\\tE[MCC]\\tMCC\")\n",
    "    \n",
    "    for log_gamma in range(-4,4):\n",
    "        mea_mdl = MEA(bp_matrix,gamma=10**log_gamma)\n",
    "        [exp_sen, exp_ppv, exp_mcc, exp_fscore] = mea_mdl.score_expected()\n",
    "        [sen, ppv, mcc, fscore] = mea_mdl.score_ground_truth(ground_truth_struct)\n",
    "\n",
    "        print(\"%d %s %.2f %.2f\" % (log_gamma, mea_mdl.structure, exp_mcc, mcc))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
